Method, system, and program product for improving quality of electronic communications

ABSTRACT

A method for routing communication for a user, wherein the routing system comprises an onward calling device a receiving device, and a communication computing system. The onward user may place an onward call for a receiver user identification and the receiving user may receive the onward call using the receiving device. Once the onward calling device and the receiving device are connected, the connection may continue for a sufficient time period. If the connection is discontinued the onward user may make no further attempt to connect with the receiving user, or the communication computing system may generate a subscriber ID of the receiving user and mark the good quality route for future connections with the receiving user.

COPYRIGHT NOTICE

A portion of the disclosure of this patent document contains materialthat is subject to copyright protection by the author thereof. Thecopyright owner has no objection to the facsimile reproduction by anyoneof the patent document or patent disclosure for the purposes ofreferencing as patent prior art, as it appears in the Patent andTrademark Office, patent file or records, but otherwise reserves allcopyright rights whatsoever.

BACKGROUND OF THE RELEVANT PRIOR ART

One or more embodiments of the invention generally relate to electroniccommunications. More particularly, certain embodiments of the inventionrelate to an improved quality of electronic communications by analyzingparticular actions of a user.

The following background information may present examples of specificaspects of the prior art (e.g., without limitation, approaches, facts,or common wisdom) that, while expected to be helpful to further educatethe reader as to additional aspects of the prior art, is not to beconstrued as limiting the present invention, or any embodiments thereof,to anything stated or implied therein or inferred thereupon.

Various attempts are being made in the industry to improve the technicalquality of communications, particularly communications made usingelectronic communication devices. The following is an example of aspecific aspect in the prior art that, while expected to be helpful tofurther educate the reader as to additional aspects of the prior art, isnot to be construed as limiting the present invention, or anyembodiments thereof, to anything stated or implied therein or inferredthereupon. By way of educational background, another aspect of the priorart generally useful to be aware of is that in telephone networksconnections between two users, typically the calls with reference tolong distance and international telephone calls, are established bymultiple telephony providers cooperating with each other. Generally, toavoid no or bad connections due to bugs/error codes in any one of theproviders' networks' routes may be changed to another backup provider.Alternate methods of connection, for example, IP telephony networks(Voice over IP—VoIP) may face floating connection problems which mayresult in failure of or poor quality connection.

In view of the foregoing, it is clear that these traditional techniquesare not perfect and leave room for more optimal approaches.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention is illustrated by way of example, and not by wayof limitation, in the figures of the accompanying drawings and in whichlike reference numerals refer to similar elements and in which:

FIG. 1 illustrates an exemplary system for routing communication for auser, in accordance with an embodiment of the present invention;

FIG. 2 illustrates an architecture of an exemplary system for routingcommunication for a user, in accordance with an embodiment of thepresent invention;

FIG. 3 is a block diagram illustrating an exemplary process for routingcommunication for a user, in accordance with an embodiment of thepresent invention;

FIG. 4 is a flow chart illustrating an exemplary process for routingcommunication for a user, in accordance with an embodiment of thepresent invention;

FIG. 5 is a block diagram depicting an exemplary client/server systemwhich may be used by an exemplary web-enabled/networked embodiment ofthe present invention; and

FIG. 6 illustrates a block diagram depicting a conventionalclient/server communication system.

Unless otherwise indicated illustrations in the figures are notnecessarily drawn to scale.

DETAILED DESCRIPTION OF SOME EMBODIMENTS

The present invention is best understood by reference to the detailedfigures and description set forth herein.

Embodiments of the invention are discussed below with reference to theFigures. However, those skilled in the art will readily appreciate thatthe detailed description given herein with respect to these figures isfor explanatory purposes as the invention extends beyond these limitedembodiments. For example, it should be appreciated that those skilled inthe art will, in light of the teachings of the present invention,recognize a multiplicity of alternate and suitable approaches, dependingupon the needs of the particular application, to implement thefunctionality of any given detail described herein, beyond theparticular implementation choices in the following embodiments describedand shown. That is, there are modifications and variations of theinvention that are too numerous to be listed but that all fit within thescope of the invention. Also, singular words should be read as pluraland vice versa and masculine as feminine and vice versa, whereappropriate, and alternative embodiments do not necessarily imply thatthe two are mutually exclusive.

It is to be further understood that the present invention is not limitedto the particular methodology, compounds, materials, manufacturingtechniques, uses, and applications, described herein, as these may vary.It is also to be understood that the terminology used herein is used forthe purpose of describing particular embodiments only, and is notintended to limit the scope of the present invention. It must be notedthat as used herein and in the appended claims, the singular forms “a,”“an,” and “the” include the plural reference unless the context clearlydictates otherwise. Thus, for example, a reference to “an element” is areference to one or more elements and includes equivalents thereof knownto those skilled in the art. Similarly, for another example, a referenceto “a step” or “a means” is a reference to one or more steps or meansand may include sub-steps and subservient means. All conjunctions usedare to be understood in the most inclusive sense possible. Thus, theword “or” should be understood as having the definition of a logical“or” rather than that of a logical “exclusive or” unless the contextclearly necessitates otherwise. Structures described herein are to beunderstood also to refer to functional equivalents of such structures.Language that may be construed to express approximation should be sounderstood unless the context clearly dictates otherwise.

All words of approximation as used in the present disclosure and claimsshould be construed to mean “approximate,” rather than “perfect,” andmay accordingly be employed as a meaningful modifier to any other word,specified parameter, quantity, quality, or concept. Words ofapproximation, include, yet are not limited to terms such as“substantial”, “nearly”, “almost”, “about”, “generally”, “largely”,“essentially”, “closely approximate”, etc.

As will be established in some detail below, it is well settle law, asearly as 1939, that words of approximation are not indefinite in theclaims even when such limits are not defined or specified in thespecification.

For example, see Ex parte Mallory, 52 USPQ 297, 297 (Pat. Off. Bd. App.1941) where the court said “The examiner has held that most of theclaims are inaccurate because apparently the laminar film will not beentirely eliminated. The claims specify that the film is “substantially”eliminated and for the intended purpose, it is believed that the slightportion of the film which may remain is negligible. We are of the view,therefore, that the claims may be regarded as sufficiently accurate.”

Note that claims need only “reasonably apprise those skilled in the art”as to their scope to satisfy the definiteness requirement. See EnergyAbsorption Sys., Inc. v. Roadway Safety Servs., Inc., Civ. App. 96-1264,slip op. at 10 (Fed. Cir. Jul. 3, 1997) (unpublished) Hybridtech v.Monoclonal Antibodies, Inc., 802 F.2d 1367, 1385, 231 USPQ 81, 94 (Fed.Cir. 1986), cert. denied, 480 U.S. 947 (1987). In addition, the use ofmodifiers in the claim, like “generally” and “substantial,” does not byitself render the claims indefinite. See Seattle Box Co. v. IndustrialCrating & Packing, Inc., 731 F.2d 818, 828-29, 221 USPQ 568, 575-76(Fed. Cir. 1984).

Moreover, the ordinary and customary meaning of terms like“substantially” includes “reasonably close to: nearly, almost, about”,connoting a term of approximation. See In re Frye, Appeal No.2009-006013, 94 USPQ2d 1072, 1077, 2010 WL 889747 (B.P.A.I. 2010)Depending on its usage, the word “substantially” can denote eitherlanguage of approximation or language of magnitude. Deering PrecisionInstruments, L.L.C. v. Vector Distribution Sys., Inc., 347 F.3d 1314,1323 (Fed. Cir. 2003) (recognizing the “dual ordinary meaning of th[e]term [“substantially”] as connoting a term of approximation or a term ofmagnitude”). Here, when referring to the “substantially halfway”limitation, the Specification uses the word “approximately” as asubstitute for the word “substantially” (Fact 4). (Fact 4). The ordinarymeaning of “substantially halfway” is thus reasonably close to or nearlyat the midpoint between the forwardmost point of the upper or outsoleand the rearwardmost point of the upper or outsole.

Similarly, the term ‘substantially’ is well recognize in case law tohave the dual ordinary meaning of connoting a term of approximation or aterm of magnitude. See Dana Corp. v. American Axle & Manufacturing,Inc., Civ. App. 04-1116, 2004 U.S. App. LEXIS 18265, *13-14 (Fed. Cir.Aug. 27, 2004) (unpublished). The term “substantially” is commonly usedby claim drafters to indicate approximation. See Cordis Corp. v.Medtronic AVE Inc., 339 F.3d 1352, 1360 (Fed. Cir. 2003) (“The patentsdo not set out any numerical standard by which to determine whether thethickness of the wall surface is ‘substantially uniform.’ The term‘substantially,’ as used in this context, denotes approximation. Thus,the walls must be of largely or approximately uniform thickness.”); seealso Deering Precision Instruments, LLC v. Vector Distribution Sys.,Inc., 347 F.3d 1314, 1322 (Fed. Cir. 2003); Epcon Gas Sys., Inc. v.Bauer Compressors, Inc., 279 F.3d 1022, 1031 (Fed. Cir. 2002). We findthat the term “substantially” was used in just such a manner in theclaims of the patents-in-suit: “substantially uniform wall thickness”denotes a wall thickness with approximate uniformity.

It should also be noted that such words of approximation as contemplatedin the foregoing clearly limits the scope of claims such as saying‘generally parallel’ such that the adverb ‘generally’ does not broadenthe meaning of parallel. Accordingly, it is well settled that such wordsof approximation as contemplated in the foregoing (e.g., like the phrase‘generally parallel’) envisions some amount of deviation from perfection(e.g., not exactly parallel), and that such words of approximation ascontemplated in the foregoing are descriptive terms commonly used inpatent claims to avoid a strict numerical boundary to the specifiedparameter. To the extent that the plain language of the claims relyingon such words of approximation as contemplated in the foregoing areclear and uncontradicted by anything in the written description hereinor the figures thereof, it is improper to rely upon the present writtendescription, the figures, or the prosecution history to add limitationsto any of the claim of the present invention with respect to such wordsof approximation as contemplated in the foregoing. That is, under suchcircumstances, relying on the written description and prosecutionhistory to reject the ordinary and customary meanings of the wordsthemselves is impermissible. See, for example, Liquid Dynamics Corp. v.Vaughan Co., 355 F.3d 1361, 69 USPQ2d 1595, 1600-01 (Fed. Cir. 2004).The plain language of phrase 2 requires a “substantial helical flow.”The term “substantial” is a meaningful modifier implying “approximate,”rather than “perfect.” In Cordis Corp. v. Medtronic AVE, Inc., 339 F.3d1352, 1361 (Fed. Cir. 2003), the district court imposed a precisenumeric constraint on the term “substantially uniform thickness.” Wenoted that the proper interpretation of this term was “of largely orapproximately uniform thickness” unless something in the prosecutionhistory imposed the “clear and unmistakable disclaimer” needed fornarrowing beyond this simple-language interpretation. Id. In Anchor WallSystems v. Rockwood Retaining Walls, Inc., 340 F.3d 1298, 1311 (Fed.Cir. 2003)” Id. at 1311. Similarly, the plain language of Claim 1requires neither a perfectly helical flow nor a flow that returnsprecisely to the center after one rotation (a limitation that arisesonly as a logical consequence of requiring a perfectly helical flow).

The reader should appreciate that case law generally recognizes a dualordinary meaning of such words of approximation, as contemplated in theforegoing, as connoting a term of approximation or a term of magnitude;e.g., see Deering Precision Instruments, L.L.C. v. Vector Distrib. Sys.,Inc., 347 F.3d 1314, 68 USPQ2d 1716, 1721 (Fed. Cir. 2003), cert.denied, 124 S. Ct. 1426 (2004) where the court was asked to construe themeaning of the term “substantially” in a patent claim. Also see Epcon,279 F.3d at 1031 (“The phrase ‘substantially constant’ denotes languageof approximation, while the phrase ‘substantially below’ signifieslanguage of magnitude, i.e., not insubstantial.”). Also, see, e.g.,Epcon Gas Sys., Inc. v. Bauer Compressors, Inc., 279 F.3d 1022 (Fed.Cir. 2002) (construing the terms “substantially constant” and“substantially below”); Zodiac Pool Care, Inc. v. Hoffinger Indus.,Inc., 206 F.3d 1408 (Fed. Cir. 2000) (construing the term “substantiallyinward”); York Prods., Inc. v. Cent. Tractor Farm & Family Ctr., 99 F.3d1568 (Fed. Cir. 1996) (construing the term “substantially the entireheight thereof”); Tex. Instruments Inc. v. Cypress Semiconductor Corp.,90 F.3d 1558 (Fed. Cir. 1996) (construing the term “substantially in thecommon plane”). In conducting their analysis, the court instructed tobegin with the ordinary meaning of the claim terms to one of ordinaryskill in the art. Prima Tek, 318 F.3d at 1148. Reference to dictionariesand our cases indicates that the term “substantially” has numerousordinary meanings. As the district court stated, “substantially” canmean “significantly” or “considerably.” The term “substantially” canalso mean “largely” or “essentially.” Webster's New 20th CenturyDictionary 1817 (1983).

Words of approximation, as contemplated in the foregoing, may also beused in phrases establishing approximate ranges or limits, where the endpoints are inclusive and approximate, not perfect; e.g., see AK SteelCorp. v. Sollac, 344 F.3d 1234, 68 USPQ2d 1280, 1285 (Fed. Cir. 2003)where it where the court said [W]e conclude that the ordinary meaning ofthe phrase “up to about 10%” includes the “about 10%” endpoint. Aspointed out by AK Steel, when an object of the preposition “up to” isnonnumeric, the most natural meaning is to exclude the object (e.g.,painting the wall up to the door). On the other hand, as pointed out bySollac, when the object is a numerical limit, the normal meaning is toinclude that upper numerical limit (e.g., counting up to ten, seatingcapacity for up to seven passengers). Because we have here a numericallimit—“about 10%”—the ordinary meaning is that that endpoint isincluded.

In the present specification and claims, a goal of employment of suchwords of approximation, as contemplated in the foregoing, is to avoid astrict numerical boundary to the modified specified parameter, assanctioned by Pall Corp. v. Micron Separations, Inc., 66 F.3d 1211,1217, 36 USPQ2d 1225, 1229 (Fed. Cir. 1995) where it states “It is wellestablished that when the term “substantially” serves reasonably todescribe the subject matter so that its scope would be understood bypersons in the field of the invention, and to distinguish the claimedsubject matter from the prior art, it is not indefinite.” Likewise seeVerve LLC v. Crane Cams Inc., 311 F.3d 1116, 65 USPQ2d 1051, 1054 (Fed.Cir. 2002). Expressions such as “substantially” are used in patentdocuments when warranted by the nature of the invention, in order toaccommodate the minor variations that may be appropriate to secure theinvention. Such usage may well satisfy the charge to “particularly pointout and distinctly claim” the invention, 35 U.S.C. § 112, and indeed maybe necessary in order to provide the inventor with the benefit of hisinvention. In Andrew Corp. v. Gabriel Elecs. Inc., 847 F.2d 819, 821-22,6 USPQ2d 2010, 2013 (Fed. Cir. 1988) the court explained that usagessuch as “substantially equal” and “closely approximate” may serve todescribe the invention with precision appropriate to the technology andwithout intruding on the prior art. The court again explained in EcolabInc. v. Envirochem, Inc., 264 F.3d 1358, 1367, 60 USPQ2d 1173, 1179(Fed. Cir. 2001) that “like the term ‘about,’ the term ‘substantially’is a descriptive term commonly used in patent claims to ‘avoid a strictnumerical boundary to the specified parameter, see Ecolab Inc. v.Envirochem Inc., 264 F.3d 1358, 60 USPQ2d 1173, 1179 (Fed. Cir. 2001)where the court found that the use of the term “substantially” to modifythe term “uniform” does not render this phrase so unclear such thatthere is no means by which to ascertain the claim scope.

Similarly, other courts have noted that like the term “about,” the term“substantially” is a descriptive term commonly used in patent claims to“avoid a strict numerical boundary to the specified parameter.”; e.g.,see Pall Corp. v. Micron Seps., 66 F.3d 1211, 1217, 36 USPQ2d 1225, 1229(Fed. Cir. 1995); see, e.g., Andrew Corp. v. Gabriel Elecs. Inc., 847F.2d 819, 821-22, 6 USPQ2d 2010, 2013 (Fed. Cir. 1988) (noting thatterms such as “approach each other,” “close to,” “substantially equal,”and “closely approximate” are ubiquitously used in patent claims andthat such usages, when serving reasonably to describe the claimedsubject matter to those of skill in the field of the invention, and todistinguish the claimed subject matter from the prior art, have beenaccepted in patent examination and upheld by the courts). In this case,“substantially” avoids the strict 100% nonuniformity boundary.

Indeed, the foregoing sanctioning of such words of approximation, ascontemplated in the foregoing, has been established as early as 1939,see Ex parte Mallory, 52 USPQ 297, 297 (Pat. Off. Bd. App. 1941) where,for example, the court said “the claims specify that the film is“substantially” eliminated and for the intended purpose, it is believedthat the slight portion of the film which may remain is negligible. Weare of the view, therefore, that the claims may be regarded assufficiently accurate.” Similarly, In re Hutchison, 104 F.2d 829, 42USPQ 90, 93 (C.C.P.A. 1939) the court said “It is realized that“substantial distance” is a relative and somewhat indefinite term, orphrase, but terms and phrases of this character are not uncommon inpatents in cases where, according to the art involved, the meaning canbe determined with reasonable clearness.”

Hence, for at least the forgoing reason, Applicants submit that it isimproper for any examiner to hold as indefinite any claims of thepresent patent that employ any words of approximation.

Unless defined otherwise, all technical and scientific terms used hereinhave the same meanings as commonly understood by one of ordinary skillin the art to which this invention belongs. Preferred methods,techniques, devices, and materials are described, although any methods,techniques, devices, or materials similar or equivalent to thosedescribed herein may be used in the practice or testing of the presentinvention. Structures described herein are to be understood also torefer to functional equivalents of such structures. The presentinvention will be described in detail below with reference toembodiments thereof as illustrated in the accompanying drawings.

References to a “device,” an “apparatus,” a “system,” etc., in thepreamble of a claim should be construed broadly to mean “any structuremeeting the claim terms” exempt for any specific structure(s)/type(s)that has/(have) been explicitly disavowed or excluded oradmitted/implied as prior art in the present specification or incapableof enabling an object/aspect/goal of the invention. Furthermore, wherethe present specification discloses an object, aspect, function, goal,result, or advantage of the invention that a specific prior artstructure and/or method step is similarly capable of performing yet in avery different way, the present invention disclosure is intended to andshall also implicitly include and cover additional correspondingalternative embodiments that are otherwise identical to that explicitlydisclosed except that they exclude such prior art structure(s)/step(s),and shall accordingly be deemed as providing sufficient disclosure tosupport a corresponding negative limitation in a claim claiming suchalternative embodiment(s), which exclude such very different prior artstructure(s)/step(s) way(s).

From reading the present disclosure, other variations and modificationswill be apparent to persons skilled in the art. Such variations andmodifications may involve equivalent and other features which arealready known in the art, and which may be used instead of or inaddition to features already described herein.

Although Claims have been formulated in this Application to particularcombinations of features, it should be understood that the scope of thedisclosure of the present invention also includes any novel feature orany novel combination of features disclosed herein either explicitly orimplicitly or any generalization thereof, whether or not it relates tothe same invention as presently claimed in any Claim and whether or notit mitigates any or all of the same technical problems as does thepresent invention.

Features which are described in the context of separate embodiments mayalso be provided in combination in a single embodiment. Conversely,various features which are, for brevity, described in the context of asingle embodiment, may also be provided separately or in any suitablesubcombination. The Applicants hereby give notice that new Claims may beformulated to such features and/or combinations of such features duringthe prosecution of the present Application or of any further Applicationderived therefrom.

References to “one embodiment,” “an embodiment,” “example embodiment,”“various embodiments,” “some embodiments,” “embodiments of theinvention,” etc., may indicate that the embodiment(s) of the inventionso described may include a particular feature, structure, orcharacteristic, but not every possible embodiment of the inventionnecessarily includes the particular feature, structure, orcharacteristic. Further, repeated use of the phrase “in one embodiment,”or “in an exemplary embodiment,” “an embodiment,” do not necessarilyrefer to the same embodiment, although they may. Moreover, any use ofphrases like “embodiments” in connection with “the invention” are nevermeant to characterize that all embodiments of the invention must includethe particular feature, structure, or characteristic, and should insteadbe understood to mean “at least some embodiments of the invention”includes the stated particular feature, structure, or characteristic.

References to “user”, or any similar term, as used herein, may mean ahuman or non-human user thereof. Moreover, “user”, or any similar term,as used herein, unless expressly stipulated otherwise, is contemplatedto mean users at any stage of the usage process, to include, withoutlimitation, direct user(s), intermediate user(s), indirect user(s), andend user(s). The meaning of “user”, or any similar term, as used herein,should not be otherwise inferred or induced by any pattern(s) ofdescription, embodiments, examples, or referenced prior-art that may (ormay not) be provided in the present patent.

References to “end user”, or any similar term, as used herein, isgenerally intended to mean late stage user(s) as opposed to early stageuser(s). Hence, it is contemplated that there may be a multiplicity ofdifferent types of “end user” near the end stage of the usage process.Where applicable, especially with respect to distribution channels ofembodiments of the invention comprising consumed retailproducts/services thereof (as opposed to sellers/vendors or OriginalEquipment Manufacturers), examples of an “end user” may include, withoutlimitation, a “consumer”, “buyer”, “customer”, “purchaser”, “shopper”,“enjoyer”, “viewer”, or individual person or non-human thing benefitingin any way, directly or indirectly, from use of. or interaction, withsome aspect of the present invention.

In some situations, some embodiments of the present invention mayprovide beneficial usage to more than one stage or type of usage in theforegoing usage process. In such cases where multiple embodimentstargeting various stages of the usage process are described, referencesto “end user”, or any similar term, as used therein, are generallyintended to not include the user that is the furthest removed, in theforegoing usage process, from the final user therein of an embodiment ofthe present invention.

Where applicable, especially with respect to retail distributionchannels of embodiments of the invention, intermediate user(s) mayinclude, without limitation, any individual person or non-human thingbenefiting in any way, directly or indirectly, from use of, orinteraction with, some aspect of the present invention with respect toselling, vending, Original Equipment Manufacturing, marketing,merchandising, distributing, service providing, and the like thereof.

References to “person”, “individual”, “human”, “a party”, “animal”,“creature”, or any similar term, as used herein, even if the context orparticular embodiment implies living user, maker, or participant, itshould be understood that such characterizations are sole by way ofexample, and not limitation, in that it is contemplated that any suchusage, making, or participation by a living entity in connection withmaking, using, and/or participating, in any way, with embodiments of thepresent invention may be substituted by such similar performed by asuitably configured non-living entity, to include, without limitation,automated machines, robots, humanoids, computational systems,information processing systems, artificially intelligent systems, andthe like. It is further contemplated that those skilled in the art willreadily recognize the practical situations where such living makers,users, and/or participants with embodiments of the present invention maybe in whole, or in part, replaced with such non-living makers, users,and/or participants with embodiments of the present invention. Likewise,when those skilled in the art identify such practical situations wheresuch living makers, users, and/or participants with embodiments of thepresent invention may be in whole, or in part, replaced with suchnon-living makers, it will be readily apparent in light of the teachingsof the present invention how to adapt the described embodiments to besuitable for such non-living makers, users, and/or participants withembodiments of the present invention. Thus, the invention is thus toalso cover all such modifications, equivalents, and alternatives fallingwithin the spirit and scope of such adaptations and modifications, atleast in part, for such non-living entities.

Headings provided herein are for convenience and are not to be taken aslimiting the disclosure in any way.

The enumerated listing of items does not imply that any or all of theitems are mutually exclusive, unless expressly specified otherwise.

It is understood that the use of specific component, device and/orparameter names are for example only and not meant to imply anylimitations on the invention. The invention may thus be implemented withdifferent nomenclature/terminology utilized to describe themechanisms/units/structures/components/devices/parameters herein,without limitation. Each term utilized herein is to be given itsbroadest interpretation given the context in which that term isutilized.

Terminology. The following paragraphs provide definitions and/or contextfor terms found in this disclosure (including the appended claims):

“Comprising.” This term is open-ended. As used in the appended claims,this term does not foreclose additional structure or steps. Consider aclaim that recites: “A memory controller comprising a system cache . . ..” Such a claim does not foreclose the memory controller from includingadditional components (e.g., a memory channel unit, a switch).

“Configured To.” Various units, circuits, or other components may bedescribed or claimed as “configured to” perform a task or tasks. In suchcontexts, “configured to” or “operable for” is used to connote structureby indicating that the mechanisms/units/circuits/components includestructure (e.g., circuitry and/or mechanisms) that performs the task ortasks during operation. As such, the mechanisms/unit/circuit/componentcan be said to be configured to (or be operable) for perform(ing) thetask even when the specified mechanisms/unit/circuit/component is notcurrently operational (e.g., is not on). Themechanisms/units/circuits/components used with the “configured to” or“operable for” language include hardware—for example, mechanisms,structures, electronics, circuits, memory storing program instructionsexecutable to implement the operation, etc. Reciting that amechanism/unit/circuit/component is “configured to” or “operable for”perform(ing) one or more tasks is expressly intended not to invoke 35U.S.C. .sctn.112, sixth paragraph, for thatmechanism/unit/circuit/component. “Configured to” may also includeadapting a manufacturing process to fabricate devices or components thatare adapted to implement or perform one or more tasks.

“Based On.” As used herein, this term is used to describe one or morefactors that affect a determination. This term does not forecloseadditional factors that may affect a determination. That is, adetermination may be solely based on those factors or based, at least inpart, on those factors. Consider the phrase “determine A based on B.”While B may be a factor that affects the determination of A, such aphrase does not foreclose the determination of A from also being basedon C. In other instances, A may be determined based solely on B.

The terms “a”, “an” and “the” mean “one or more”, unless expresslyspecified otherwise.

Unless otherwise indicated, all numbers expressing conditions,concentrations, dimensions, and so forth used in the specification andclaims are to be understood as being modified in all instances by theterm “about.” Accordingly, unless indicated to the contrary, thenumerical parameters set forth in the following specification andattached claims are approximations that may vary depending at least upona specific analytical technique.

The term “comprising,” which is synonymous with “including,”“containing,” or “characterized by” is inclusive or open-ended and doesnot exclude additional, unrecited elements or method steps. “Comprising”is a term of art used in claim language which means that the named claimelements are essential, but other claim elements may be added and stillform a construct within the scope of the claim.

As used herein, the phase “consisting of” excludes any element, step, oringredient not specified in the claim. When the phrase “consists of” (orvariations thereof) appears in a clause of the body of a claim, ratherthan immediately following the preamble, it limits only the element setforth in that clause; other elements are not excluded from the claim asa whole. As used herein, the phase “consisting essentially of” and“consisting of” limits the scope of a claim to the specified elements ormethod steps, plus those that do not materially affect the basis andnovel characteristic(s) of the claimed subject matter (see Norian Corp.v Stryker Corp., 363 F.3d 1321, 1331-32, 70 USPQ2d 1508, Fed. Cir.2004). Moreover, for any claim of the present invention which claims anembodiment “consisting essentially of” or “consisting of” a certain setof elements of any herein described embodiment it shall be understood asobvious by those skilled in the art that the present invention alsocovers all possible varying scope variants of any describedembodiment(s) that are each exclusively (i.e., “consisting essentiallyof”) functional subsets or functional combination thereof such that eachof these plurality of exclusive varying scope variants each consistsessentially of any functional subset(s) and/or functional combination(s)of any set of elements of any described embodiment(s) to the exclusionof any others not set forth therein. That is, it is contemplated that itwill be obvious to those skilled how to create a multiplicity ofalternate embodiments of the present invention that simply consistingessentially of a certain functional combination of elements of anydescribed embodiment(s) to the exclusion of any others not set forththerein, and the invention thus covers all such exclusive embodiments asif they were each described herein.

With respect to the terms “comprising,” “consisting of” and “consistingessentially of” where one of these three terms is used herein, thepresently disclosed and claimed subject matter may include the use ofeither of the other two terms. Thus in some embodiments not otherwiseexplicitly recited, any instance of “comprising” may be replaced by“consisting of” or, alternatively, by “consisting essentially of”, andthus, for the purposes of claim support and construction for “consistingof” format claims, such replacements operate to create yet otheralternative embodiments “consisting essentially of” only the elementsrecited in the original “comprising” embodiment to the exclusion of allother elements.

Devices or system modules that are in at least general communicationwith each other need not be in continuous communication with each other,unless expressly specified otherwise. In addition, devices or systemmodules that are in at least general communication with each other maycommunicate directly or indirectly through one or more intermediaries.

A description of an embodiment with several components in communicationwith each other does not imply that all such components are required. Onthe contrary a variety of optional components are described toillustrate the wide variety of possible embodiments of the presentinvention.

As is well known to those skilled in the art many careful considerationsand compromises typically must be made when designing for the optimalmanufacture of a commercial implementation any system, and inparticular, the embodiments of the present invention. A commercialimplementation in accordance with the spirit and teachings of thepresent invention may configured according to the needs of theparticular application, whereby any aspect(s), feature(s), function(s),result(s), component(s), approach(es), or step(s) of the teachingsrelated to any described embodiment of the present invention may besuitably omitted, included, adapted, mixed and matched, or improvedand/or optimized by those skilled in the art, using their average skillsand known techniques, to achieve the desired implementation thataddresses the needs of the particular application.

A “computer” may refer to one or more apparatus and/or one or moresystems that are capable of accepting a structured input, processing thestructured input according to prescribed rules, and producing results ofthe processing as output. Examples of a computer may include: acomputer; a stationary and/or portable computer; a computer having asingle processor, multiple processors, or multi-core processors, whichmay operate in parallel and/or not in parallel; a general purposecomputer; a supercomputer; a mainframe; a super mini-computer; amini-computer; a workstation; a micro-computer; a server; a client; aninteractive television; a web appliance; a telecommunications devicewith internet access; a hybrid combination of a computer and aninteractive television; a portable computer; a tablet personal computer(PC); a personal digital assistant (PDA); a portable telephone;application-specific hardware to emulate a computer and/or software,such as, for example, a digital signal processor (DSP), afield-programmable gate array (FPGA), an application specific integratedcircuit (ASIC), an application specific instruction-set processor(ASIP), a chip, chips, a system on a chip, or a chip set; a dataacquisition device; an optical computer; a quantum computer; abiological computer; and generally, an apparatus that may accept data,process data according to one or more stored software programs, generateresults, and typically include input, output, storage, arithmetic,logic, and control units.

Those of skill in the art will appreciate that where appropriate, someembodiments of the disclosure may be practiced in network computingenvironments with many types of computer system configurations,including personal computers, hand-held devices, multi-processorsystems, microprocessor-based or programmable consumer electronics,network PCs, minicomputers, mainframe computers, and the like. Whereappropriate, embodiments may also be practiced in distributed computingenvironments where tasks are performed by local and remote processingdevices that are linked (either by hardwired links, wireless links, orby a combination thereof) through a communications network. In adistributed computing environment, program modules may be located inboth local and remote memory storage devices.

“Software” may refer to prescribed rules to operate a computer. Examplesof software may include: code segments in one or more computer-readablelanguages; graphical and or/textual instructions; applets; pre-compiledcode; interpreted code; compiled code; and computer programs.

The example embodiments described herein can be implemented in anoperating environment comprising computer-executable instructions (e.g.,software) installed on a computer, in hardware, or in a combination ofsoftware and hardware. The computer-executable instructions can bewritten in a computer programming language or can be embodied infirmware logic. If written in a programming language conforming to arecognized standard, such instructions can be executed on a variety ofhardware platforms and for interfaces to a variety of operating systems.Although not limited thereto, computer software program code forcarrying out operations for aspects of the present invention can bewritten in any combination of one or more suitable programminglanguages, including an object oriented programming languages and/orconventional procedural programming languages, and/or programminglanguages such as, for example, Hyper text Markup Language (HTML),Dynamic HTML, Extensible Markup Language (XML), Extensible StylesheetLanguage (XSL), Document Style Semantics and Specification Language(DSSSL), Cascading Style Sheets (CSS), Synchronized MultimediaIntegration Language (SMIL), Wireless Markup Language (WML), Java™,Jini™, C, C++, Smalltalk, Perl, UNIX Shell, Visual Basic or Visual BasicScript, Virtual Reality Markup Language (VRML), ColdFusion™ or othercompilers, assemblers, interpreters or other computer languages orplatforms.

Computer program code for carrying out operations for aspects of thepresent invention may be written in any combination of one or moreprogramming languages, including an object oriented programming languagesuch as Java, Smalltalk, C++ or the like and conventional proceduralprogramming languages, such as the “C” programming language or similarprogramming languages. The program code may execute entirely on theuser's computer, partly on the user's computer, as a stand-alonesoftware package, partly on the user's computer and partly on a remotecomputer or entirely on the remote computer or server. In the latterscenario, the remote computer may be connected to the user's computerthrough any type of network, including a local area network (LAN) or awide area network (WAN), or the connection may be made to an externalcomputer (for example, through the Internet using an Internet ServiceProvider).

A network is a collection of links and nodes (e.g., multiple computersand/or other devices connected together) arranged so that informationmay be passed from one part of the network to another over multiplelinks and through various nodes. Examples of networks include theInternet, the public switched telephone network, the global Telexnetwork, computer networks (e.g., an intranet, an extranet, a local-areanetwork, or a wide-area network), wired networks, and wireless networks.

The Internet is a worldwide network of computers and computer networksarranged to allow the easy and robust exchange of information betweencomputer users. Hundreds of millions of people around the world haveaccess to computers connected to the Internet via Internet ServiceProviders (ISPs). Content providers (e.g., website owners or operators)place multimedia information (e.g., text, graphics, audio, video,animation, and other forms of data) at specific locations on theInternet referred to as webpages. Websites comprise a collection ofconnected, or otherwise related, webpages. The combination of all thewebsites and their corresponding webpages on the Internet is generallyknown as the World Wide Web (WWW) or simply the Web.

Aspects of the present invention are described below with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems) and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer program instructions. These computer program instructions maybe provided to a processor of a general purpose computer, specialpurpose computer, or other programmable data processing apparatus toproduce a machine, such that the instructions, which execute via theprocessor of the computer or other programmable data processingapparatus, create means for implementing the functions/acts specified inthe flowchart and/or block diagram block or blocks.

The flowchart and block diagrams in the figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods and computer program products according to variousembodiments. In this regard, each block in the flowchart or blockdiagrams may represent a module, segment, or portion of code, whichcomprises one or more executable instructions for implementing thespecified logical function(s). It should also be noted that, in somealternative implementations, the functions noted in the block may occurout of the order noted in the figures. For example, two blocks shown insuccession may, in fact, be executed substantially concurrently, or theblocks may sometimes be executed in the reverse order, depending uponthe functionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts, or combinations of special purpose hardware andcomputer instructions.

These computer program instructions may also be stored in a computerreadable medium that can direct a computer, other programmable dataprocessing apparatus, or other devices to function in a particularmanner, such that the instructions stored in the computer readablemedium produce an article of manufacture including instructions whichimplement the function/act specified in the flowchart and/or blockdiagram block or blocks.

Further, although process steps, method steps, algorithms or the likemay be described in a sequential order, such processes, methods andalgorithms may be configured to work in alternate orders. In otherwords, any sequence or order of steps that may be described does notnecessarily indicate a requirement that the steps be performed in thatorder. The steps of processes described herein may be performed in anyorder practical. Further, some steps may be performed simultaneously.

It will be readily apparent that the various methods and algorithmsdescribed herein may be implemented by, e.g., appropriately programmedgeneral purpose computers and computing devices. Typically a processor(e.g., a microprocessor) will receive instructions from a memory or likedevice, and execute those instructions, thereby performing a processdefined by those instructions. Further, programs that implement suchmethods and algorithms may be stored and transmitted using a variety ofknown media.

When a single device or article is described herein, it will be readilyapparent that more than one device/article (whether or not theycooperate) may be used in place of a single device/article. Similarly,where more than one device or article is described herein (whether ornot they cooperate), it will be readily apparent that a singledevice/article may be used in place of the more than one device orarticle.

The functionality and/or the features of a device may be alternativelyembodied by one or more other devices which are not explicitly describedas having such functionality/features. Thus, other embodiments of thepresent invention need not include the device itself.

The term “computer-readable medium” as used herein refers to any mediumthat participates in providing data (e.g., instructions) which may beread by a computer, a processor or a like device. Such a medium may takemany forms, including but not limited to, non-volatile media, volatilemedia, and transmission media. Non-volatile media include, for example,optical or magnetic disks and other persistent memory. Volatile mediainclude dynamic random access memory (DRAM), which typically constitutesthe main memory. Transmission media include coaxial cables, copper wireand fiber optics, including the wires that comprise a system bus coupledto the processor. Transmission media may include or convey acousticwaves, light waves and electromagnetic emissions, such as thosegenerated during radio frequency (RF) and infrared (IR) datacommunications. Common forms of computer-readable media include, forexample, a floppy disk, a flexible disk, hard disk, magnetic tape, anyother magnetic medium, a CD-ROM, DVD, any other optical medium, punchcards, paper tape, any other physical medium with patterns of holes, aRAM, a PROM, an EPROM, a FLASH-EEPROM, removable media, flash memory, a“memory stick”, any other memory chip or cartridge, a carrier wave asdescribed hereinafter, or any other medium from which a computer canread.

Various forms of computer readable media may be involved in carryingsequences of instructions to a processor. For example, sequences ofinstruction (i) may be delivered from RAM to a processor, (ii) may becarried over a wireless transmission medium, and/or (iii) may beformatted according to numerous formats, standards or protocols, such asBluetooth, TDMA, CDMA, 3G.

Where databases are described, it will be understood by one of ordinaryskill in the art that (i) alternative database structures to thosedescribed may be readily employed, (ii) other memory structures besidesdatabases may be readily employed. Any schematic illustrations andaccompanying descriptions of any sample databases presented herein areexemplary arrangements for stored representations of information. Anynumber of other arrangements may be employed besides those suggested bythe tables shown. Similarly, any illustrated entries of the databasesrepresent exemplary information only; those skilled in the art willunderstand that the number and content of the entries can be differentfrom those illustrated herein. Further, despite any depiction of thedatabases as tables, an object-based model could be used to store andmanipulate the data types of the present invention and likewise, objectmethods or behaviors can be used to implement the processes of thepresent invention.

A “computer system” may refer to a system having one or more computers,where each computer may include a computer-readable medium embodyingsoftware to operate the computer or one or more of its components.Examples of a computer system may include: a distributed computer systemfor processing information via computer systems linked by a network; twoor more computer systems connected together via a network fortransmitting and/or receiving information between the computer systems;a computer system including two or more processors within a singlecomputer; and one or more apparatuses and/or one or more systems thatmay accept data, may process data in accordance with one or more storedsoftware programs, may generate results, and typically may includeinput, output, storage, arithmetic, logic, and control units.

A “network” may refer to a number of computers and associated devicesthat may be connected by communication facilities. A network may involvepermanent connections such as cables or temporary connections such asthose made through telephone or other communication links. A network mayfurther include hard-wired connections (e.g., coaxial cable, twistedpair, optical fiber, waveguides, etc.) and/or wireless connections(e.g., radio frequency waveforms, free-space optical waveforms, acousticwaveforms, etc.). Examples of a network may include: an internet, suchas the Internet; an intranet; a local area network (LAN); a wide areanetwork (WAN); and a combination of networks, such as an internet and anintranet.

As used herein, the “client-side” application should be broadlyconstrued to refer to an application, a page associated with thatapplication, or some other resource or function invoked by a client-siderequest to the application. A “browser” as used herein is not intendedto refer to any specific browser (e.g., Internet Explorer, Safari,FireFox, or the like), but should be broadly construed to refer to anyclient-side rendering engine that can access and displayInternet-accessible resources. A “rich” client typically refers to anon-HTTP based client-side application, such as an SSH or CFIS client.Further, while typically the client-server interactions occur usingHTTP, this is not a limitation either. The client server interaction maybe formatted to conform to the Simple Object Access Protocol (SOAP) andtravel over HTTP (over the public Internet), FTP, or any other reliabletransport mechanism (such as IBM® MQSeries® technologies and CORBA, fortransport over an enterprise intranet) may be used. Any application orfunctionality described herein may be implemented as native code, byproviding hooks into another application, by facilitating use of themechanism as a plug-in, by linking to the mechanism, and the like.

Exemplary networks may operate with any of a number of protocols, suchas Internet protocol (IP), asynchronous transfer mode (ATM), and/orsynchronous optical network (SONET), user datagram protocol (UDP), IEEE802.x, etc.

Embodiments of the present invention may include apparatuses forperforming the operations disclosed herein. An apparatus may bespecially constructed for the desired purposes, or it may comprise ageneral-purpose device selectively activated or reconfigured by aprogram stored in the device.

Embodiments of the invention may also be implemented in one or acombination of hardware, firmware, and software. They may be implementedas instructions stored on a machine-readable medium, which may be readand executed by a computing platform to perform the operations describedherein.

More specifically, as will be appreciated by one skilled in the art,aspects of the present invention may be embodied as a system, method orcomputer program product. Accordingly, aspects of the present inventionmay take the form of an entirely hardware embodiment, an entirelysoftware embodiment (including firmware, resident software, micro-code,etc.) or an embodiment combining software and hardware aspects that mayall generally be referred to herein as a “circuit,” “module” or“system.” Furthermore, aspects of the present invention may take theform of a computer program product embodied in one or more computerreadable medium(s) having computer readable program code embodiedthereon.

In the following description and claims, the terms “computer programmedium” and “computer readable medium” may be used to generally refer tomedia such as, but not limited to, removable storage drives, a hard diskinstalled in hard disk drive, and the like. These computer programproducts may provide software to a computer system. Embodiments of theinvention may be directed to such computer program products.

An algorithm is here, and generally, considered to be a self-consistentsequence of acts or operations leading to a desired result. Theseinclude physical manipulations of physical quantities. Usually, thoughnot necessarily, these quantities take the form of electrical ormagnetic signals capable of being stored, transferred, combined,compared, and otherwise manipulated. It has proven convenient at times,principally for reasons of common usage, to refer to these signals asbits, values, elements, symbols, characters, terms, numbers or the like.It should be understood, however, that all of these and similar termsare to be associated with the appropriate physical quantities and aremerely convenient labels applied to these quantities.

Unless specifically stated otherwise, and as may be apparent from thefollowing description and claims, it should be appreciated thatthroughout the specification descriptions utilizing terms such as“processing,” “computing,” “calculating,” “determining,” or the like,refer to the action and/or processes of a computer or computing system,or similar electronic computing device, that manipulate and/or transformdata represented as physical, such as electronic, quantities within thecomputing system's registers and/or memories into other data similarlyrepresented as physical quantities within the computing system'smemories, registers or other such information storage, transmission ordisplay devices.

Additionally, the phrase “configured to” or “operable for” can includegeneric structure (e.g., generic circuitry) that is manipulated bysoftware and/or firmware (e.g., an FPGA or a general-purpose processorexecuting software) to operate in a manner that is capable of performingthe task(s) at issue. “Configured to” may also include adapting amanufacturing process (e.g., a semiconductor fabrication facility) tofabricate devices (e.g., integrated circuits) that are adapted toimplement or perform one or more tasks.

In a similar manner, the term “processor” may refer to any device orportion of a device that processes electronic data from registers and/ormemory to transform that electronic data into other electronic data thatmay be stored in registers and/or memory. A “computing platform” maycomprise one or more processors.

Embodiments within the scope of the present disclosure may also includetangible and/or non-transitory computer-readable storage media forcarrying or having computer-executable instructions or data structuresstored thereon. Such non-transitory computer-readable storage media canbe any available media that can be accessed by a general purpose orspecial purpose computer, including the functional design of any specialpurpose processor as discussed above. By way of example, and notlimitation, such non-transitory computer-readable media can include RAM,ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storageor other magnetic storage devices, or any other medium which can be usedto carry or store desired program code means in the form ofcomputer-executable instructions, data structures, or processor chipdesign. When information is transferred or provided over a network oranother communications connection (either hardwired, wireless, orcombination thereof) to a computer, the computer properly views theconnection as a computer-readable medium. Thus, any such connection isproperly termed a computer-readable medium. Combinations of the aboveshould also be included within the scope of the computer-readable media.

While a non-transitory computer readable medium includes, but is notlimited to, a hard drive, compact disc, flash memory, volatile memory,random access memory, magnetic memory, optical memory, semiconductorbased memory, phase change memory, optical memory, periodicallyrefreshed memory, and the like; the non-transitory computer readablemedium, however, does not include a pure transitory signal per se; i.e.,where the medium itself is transitory.

FIG. 1 illustrates an exemplary routing system 100 for routingcommunication for a user, in accordance with an embodiment of thepresent invention. The routing system 100 comprises at least an onwardcalling device 110, at least a receiving device 112, and at least acommunication computing system 114. During a typical operation of thesystem 100 an onward user (not shown in figure) may place an onward callfor a receiver user identification. A receiving user (not shown infigure) may receive the onward call using the receiving device 112. Oncethe onward calling device 110 and the receiving device 112 areconnected, in one embodiment, the connection may continue for asufficient time period, for example, route 116. After the connection isdiscontinued the onward user may make no further attempt to connect withthe receiving user. In certain embodiments, the communication computingsystem may generate a subscriber ID of the receiving user (calledsubscriber) and mark the good quality route for future connections withthe receiving user. In another embodiment, the onward call, routed, forexample, via route 118, may get disconnected within a shortinterval/duration. It may be appreciated by a person with ordinary skillin the art, in light of and in accordance with the teachings of thepresent invention, that the short interval/time duration may depend onthe route that is being attempted to be established between the onwardcalling device and the receiving device. In an exemplary embodiment, theshort interval/time duration may include but not be limited to a timeperiod of about 2 minutes to about 5 minutes. In various embodiments,the call may be disconnected due to reasons including but not limited to“no connection was established”, “the onward user cannot hear thereceiving user”, “the receiving user cannot hear the onward caller”,“unintelligible audibility”, “interrupted sound”, “voice latencies”,“call drops”, “bugs in the network used by the onward calling device”,etc. . . . . Accordingly the onward user may use the onward callingdevice 112 and make an attempt to reestablish the connection with thereceiving user within a short interval/duration. In this embodiment, thecommunication computing system 114 may treat this as a low/bad qualityroute 118 and capture the route details in a database (not shown infigure). In certain embodiments, the communication computing system mayalso generate a subscriber ID of the receiving user (called subscriber)and mark the low/good quality route for not being used in futureconnections with the receiving user. In certain embodiments, thecommunication computing system may delete the entry showing a precedingshort duration call destined or a subscriber (group) once theinformation is used to determine the low-quality route. Thecommunication computing system 114 includes a designated computerprogram that enables the communication computing system 114 to select anoptimum route for an outbound call. The communication computing systemmay generate a subscriber ID for a single subscriber or a group ofsubscribers. In various embodiments, the subscriber ID may be generatedwhen one subscriber calls a group of subscribers, when a group ofsubscribers call a group of subscribers, or when all subscribers call agroup of subscribers.

It may be appreciated by a person with ordinary skill in the art, inlight of and in accordance with the teachings of the present invention,that the onward calling device 110 may include any device capable ofinitiating a communication over multiple connection types. In variousembodiments, the onward calling device may include communication devicesthat can initiate communication over 120 a cellular communicationnetwork 122, over a network like internet 124, and the like. The onwardcalling device 110 may include, but not be limited to devices like,Voice over internet protocol (VoIP gateway) phone; Internet protocolphone (IP-phone); Session Initiation Protocol phone (SIP-phone); anddigital communication devices like mobile phone, lap top, personalcomputer, personal digital assistant (PDA), corded telephone, cordlesstelephone, fax machine, integrated services digital network (ISDN)telephone, private branch exchange (PBX), and the like.

In one embodiment, the cellular communication network 122 may employ acode division multiple access (CDMA) protocol (e.g., CDMA2000), a timedivision multiple access (TDMA) protocol (e.g., GSM), or any anothercommunication protocol compatible with the cellular communicationnetwork 122. The outbound calling device 110 may also be capable ofcommunicating over multiple different networks. In one embodiment, theoutbound calling device 110 may connect to the Internet 124 through 126network interfaces like a wireless local area network 128 (e.g., a Wi-Finetwork). In another embodiment, the outbound calling device 110 mayconnect to the Internet 124 through 130 network interfaces like awireless wide area network 132 (e.g., a WiMAX network).

It may be appreciated by a person with ordinary skill in the art, inlight of and in accordance with the teachings of the present invention,that the receiving device 112 may include a device similar to ordifferent from the onward calling device 110. The receiving device 112may include any device capable of receiving a communication overmultiple connection types. In various embodiments, the receiving devicemay include communication devices that can receive communication over143 a cellular communication network 123, over a network like internet125, and the like. The receiving device 112 may include, but not belimited to devices like, Voice over internet protocol (VoIP gateway)phone; Internet protocol phone (IP-phone); Session Initiation Protocolphone (SIP-phone); and digital communication devices like mobile phone,lap top, personal computer, personal digital assistant (PDA), cordedtelephone, cordless telephone, fax machine, integrated services digitalnetwork (ISDN) telephone, private branch exchange (PBX), and the like.

In one embodiment, the cellular communication network 123 may employ acode division multiple access (CDMA) protocol (e.g., CDMA2000), a timedivision multiple access (TDMA) protocol (e.g., GSM), or any anothercommunication protocol compatible with the cellular telephone network.The receiving device 112 may also be capable of communicating overmultiple different networks. In one embodiment, the receiving device 112may connect to the Internet 125 through 141 network interfaces like awireless local area network 135 (e.g., a Wi-Fi network). In anotherembodiment, the receiving device 112 may connect to the Internet 125through 137 network interfaces like a wireless wide area network 131(e.g., a WiMAX network).

It may be appreciated by a person with ordinary skill in the art, inlight of and in accordance with the teachings of the present invention,that the communication computing system 114 may receive the incomingcalls 127, 129, 143, 145 made from the outgoing call device 110 to thereceiving device 112. The communication computing system 114 may receivethe outgoing calls 134, 136, 138, 140 over the internet, over thecellular communication network, from a computer, etc. . . . and connectthe incoming calls 127, 129, 143, 145 to the receiving device 112 overthe internet, over the cellular communication network, from a computer,etc. . . . . In various embodiments, the local area network, thewireless wide area network, the cellular communication networkconnecting the calls between the ongoing call device 110 and thereceiving device 113 via the communication computing system 114 may besame or different.

In various embodiments, both the outgoing call device 110 and thereceiving device 112 may include but are not limited to digital devices,an analog device, or a combination thereof. In embodiments where eitherone or both of the outgoing call device 110 and the receiving device 112may be an analog device, the analog device may communicate with thecommunication computing system 114 via a voice gateway, i.e., a routerpublic switched telephone network (PSTN) gateway. In variousembodiments, the gateway may be placed in different places including butnot limited to, between user's device and a digital network, inside PSTNbetween its parts (digital part and analog part), between PSTN andcommunication computing system 114. In various embodiments, thecommunication computing system 114 may provide different functions toprovide a good quality route for the outgoing call device 110 to connectto the receiving device 112. The different functions may include but arenot limited to identification for the outgoing call device,identification of the receiving device, user identification (subscriberID) for the outgoing call device, subscriber ID extraction, subscriberID creating, routing of the call, selection of good quality route forthe call, detection of call drops, exclusion of bad quality routes, andthe like. For example, the communication computing system 114 mayinclude a designated software to determine and recognize that a user maybe making a second call to a receiving device 112 within a very shortduration/period of having made a first call to the receiving device 112.The communication computing system 114 may then use the designatedsoftware to determine the quality of the route used by the outgoing calldevice 110. The communication computing system 114 may then extract auser identification (subscriber's ID) and select a good quality routefor making the connection between the outgoing call device 110 and thereceiving device 112. The communication computing system 114 may use thedesignated software to exclude bad quality routes 118 and provide aplurality of alternate good quality routes 142, 144, 146, 148, 150, 152,and the like for the user identified with the subscriber ID at leastwhenever the user tries to make the connection to the same receivingdevice 112. In various embodiments, any or some of routes 116, 118, 142,144, 146, 148, 150, 152 may include but are not limited to, VoIP routes(like different VoIP providers or different internet connections),different PSTN routes (digital or analog), different wireless networks,etc. . . . .

It may be appreciated by a person with ordinary skill in the art, inlight of and in accordance with the teachings of the present invention,that the communication computing system 114 may include virtually anycommunication actuation device capable of identifying an outgoing calldevice 110, identifying a receiving device 112, and determining a goodquality route 116 whenever a call is made from the outgoing call device110 to the receiving device 112. Non-limiting examples of thecommunication computing system 114 may include but are not limited tosession initiation protocol (SIP) server, SIP proxy, softswitch, digitalPBX, virtual PBX, h.323 gatekeeper, VoIP router, and any compatibletelecommunication routing system as may be appreciated by a person withordinary skill in the art, in light of and in accordance with theteachings of the present invention. The communication computing system114 may include any computing platform that executes computer softwareand/or code from a non-transitory computer readable medium. Thecommunication computing system 114 may include a single device ormultiple devices. In embodiments where the communication computingsystem 114 is a single device all the functions of identification forthe outgoing call device, identification of the receiving device, useridentification (subscriber ID) for the outgoing call device, subscriberID extraction, subscriber ID creating, routing of the call, selection ofgood quality route for the call, detection of call drops, exclusion ofbad quality routes, may be executed by the single communicationcomputing system 114. In embodiments where the communication computingsystem 114 includes multiple devices these functions may be distributedbetween the multiple devices. For example, identification for theoutgoing call device, identification of the receiving device, useridentification (subscriber ID) for the outgoing call device, subscriberID extraction, subscriber ID creating, routing of the call, selection ofpossible routes for the call, and detection of call drops, may be doneby one communication computing system and the exclusion of bad qualityroutes may be executed by another communication computing system. Inanother embodiment, the communication computing system 114 is a singledevice. In one embodiment, the communication computing system 114 may bea part of the ongoing call device 110 in the form of a routing system, arouting software, a routing module, a designated routing program, etc .. . .

It may be appreciated by a person with ordinary skill in the art, inlight of and in accordance with the teachings of the present invention,that the communication computing system 114 may connect to any number ofdevices with virtually any wired and/or wireless means. Thecommunication computing system may connect to virtually any device bymeans such as, but not limited to, Bluetooth connection, Ethernet cable,USB cable, WIFI, IRDA, etc. . . . In one embodiment, the communicationcomputing system 114 may connect to other devices for gatheringinformation on good quality routes for an identified subscriber ID. Inanother embodiment, the computing system may connect to other devicesfor excluding bad quality routes for the identified subscriber ID.

It may be appreciated by a person with ordinary skill in the art, inlight of and in accordance with the teachings of the present invention,that the route quality information gathered may partially or completelybe contained in a local computing platform and/or network. In analternative embodiment of the present invention, the route qualityinformation gathered may be located on a local computer network. In analternative embodiment of the present invention, the route qualityinformation gathered may be located on any computer located anywhere andbe reachable via network, for example, LAN, WAN, VPN, or Internet.

FIG. 2 illustrates an architecture of an exemplary system for routingcommunication for a user, in accordance with an embodiment of thepresent invention. A routing communication for a user systemarchitecture 200 may comprise a communication computing system 212. Thecommunication computing system 212 includes, an outgoing call deviceidentification module 216, a receiving device identification module 218,a user ID identification module 220, a subscriber ID extraction module222, a subscriber ID creating module 224, a routing module 226, a routeselection module 228, a communication drop detection module 230, adatabase 232, an alternate route selection module 234, a route exclusionmodule 236, an interface module 238, and a heuristic module 240. In oneembodiment, the input 214 information for the communication computingsystem 216 may be obtained from an outgoing call made by a user 210,that provides a source for connection information, call route andconnection issues. In various embodiments, the output 242 information244 for the communication computing system 212 may include, but are notlimited to list of good quality routes, list of low quality routes, listof not possible routes, and list of all possible routes for anidentified receiver subscriber ID or group ID. The outgoing call deviceidentification module 216, may have a means of identifying the outgoingcall device, such as, without limitation, a processing unit, a computer,or a server to execute computer code and/or algorithms from anon-transitory computer readable medium for device identification. Thereceiving device identification module 218, may have a means ofidentifying the receiving device, such as, without limitation, aprocessing unit, a computer, or a server to execute computer code and/oralgorithms from a non-transitory computer readable medium for deviceidentification. The user ID identification module 220, may have a meansof identifying the user ID, such as, without limitation, a processingunit, a computer, or a server to execute computer code and/or algorithmsfrom a non-transitory computer readable medium for user IDidentification. The subscriber ID extraction module 222, may have ameans of extracting the subscriber ID, such as, without limitation, aprocessing unit, a computer, or a server to execute computer code and/oralgorithms from a non-transitory computer readable medium for IDextraction. The subscriber ID creation module 224, may have a means ofcreating a subscriber ID, such as, without limitation, a processingunit, a computer, or a server to execute computer code and/or algorithmsfrom a non-transitory computer readable medium for ID creation. Therouting module 226, may have a means of identifying a communicationroute, such as, without limitation, a processing unit, a computer, or aserver to execute computer code and/or algorithms from a non-transitorycomputer readable medium for communication route identification. Theroute selection module 228, may have a means of selecting acommunication route, such as, without limitation, a processing unit, acomputer, or a server to execute computer code and/or algorithms from anon-transitory computer readable medium for communication routeselection. The communication drop detection module 230, may have a meansof detecting a communication drop, such as, without limitation, aprocessing unit, a computer, or a server to execute computer code and/oralgorithms from a non-transitory computer readable medium forcommunication drop detection. The alternate route selection module 234,may have a means of selecting a communication route, such as, withoutlimitation, a processing unit, a computer, or a server to executecomputer code and/or algorithms from a non-transitory computer readablemedium for alternate communication route selection. The route exclusionmodule 236, may have a means of selecting a communication exclusionroute, such as, without limitation, a processing unit, a computer, or aserver to execute computer code and/or algorithms from a non-transitorycomputer readable medium for communication route exclusion. Theinterface module 238, may have a means of providing an interface, suchas, without limitation, a processing unit, a computer, or a server toexecute computer code and/or algorithms from a non-transitory computerreadable medium to assist the communication computing system inperforming its various functions. The heuristic module 240, may have ameans of self-learning, such as, without limitation, a processing unit,a computer, or a server to execute computer code and/or algorithms froma non-transitory computer readable medium to assist the assimilation ofgood quality routes and bad quality routes and route the calls of arepeat subscriber or a first time subscriber in making outgoing/outboundcalls through good quality routes.

The database 232 may be, but not limited to, a plurality of dataservers, and a memory card. It may be appreciated by a person withordinary skill in the art, in light of and in accordance with theteachings of the present invention, that the database may containvirtually any user data to enable the assimilation of good qualityroutes and bad quality routes and route the calls of a repeat subscriberor a first time subscriber in making outbound calls through good qualityroutes. In another embodiment, the user data may be stored in a memorycard in the communication computing system 114.

It may be appreciated by a person with ordinary skill in the art, inlight of and in accordance with the teachings of the present invention,that one or more modules may be embodied in a single device. In analternative embodiment of the present invention, that one or moremodules may be embodied in multiple devices.

It may be appreciated by a person with ordinary skill in the art, inlight of and in accordance with the teachings of the present invention,that virtually any algorithm and/or computer code may be used toidentify the outgoing call device and receiving device on theidentification modules 216 and 218 respectively. Device identificationalgorithms and/or methods may include, without limitation,identification by network address, for example, internet protocol (IP)address, media access control (MAC) address, and the like;identification by caller ID, for example, telephone number, subscribernumber, and the like; identification by secret code, for example, postalindex number (PIN) code, password, pass phrase, and the like;identification by login/password pare, identification by public/privatekeys pare, identification by physical connection, for example, deviceused for connection, physical port, line, and the like.

It may be appreciated by a person with ordinary skill in the art, inlight of and in accordance with the teachings of the present invention,that virtually any algorithm and/or computer code may be used toidentify the user ID on the user ID identification module 220. User IDidentification algorithms and/or methods may include, withoutlimitation, identification by network address, for example, internetprotocol (IP) address, media access control (MAC) address, and the like;identification by caller ID, for example, telephone number, subscribernumber, and the like; identification by secret code, for example, postalindex number (PIN) code, password, pass phrase, and the like;identification by login/password pare, identification by public/privatekeys pare, identification by physical connection, for example, deviceused for connection, physical port, line, and the like.

It may be appreciated by a person with ordinary skill in the art, inlight of and in accordance with the teachings of the present invention,that virtually any algorithm and/or computer code may be used to extractthe subscriber ID using the subscriber ID extraction module 222.Extraction algorithms and/or methods may include, without limitation,determination by prefix, for example, first digits of a telephonenumber, first letters of user ID, etc . . . ; determination by domain;determination by domain name suffix, for example “.com”, “.ru” etc . . .; determination by region, for example, country, continent, state,region of a country, city, etc . . . ; determination by origination ordestination network; determination by network type, for example,landline, cell phone, etc . . . ; determination by connection data, forexample, connection delay, packet lost factor, throughput, etc . . . ;and the like.

It may be appreciated by a person with ordinary skill in the art, inlight of and in accordance with the teachings of the present invention,that virtually any algorithm and/or computer code may be used to createthe subscriber ID using the subscriber ID creation module 224. Creationalgorithms and/or methods may include, without limitation, extractionfrom user (or subscriber) address, concatenation with random number,concatenation with random alphanumeric sequence, concatenation withcommon integer numbers sequence, concatenation with a specificdestination/originator ID, for example, domain name suffix or countrycode, etc . . . , and the like. In various embodiments, the subscriberID may be created using information including, but not limited to,telephone numbers, user name, login name, IP address, alias of a user orof a device, and like information. In one embodiment, the subscriber IDmay include several digits of a communication code, for example, (i) ifit is a telephone number being dialed then the subscriber ID may includeseveral digits of the dialed number with predetermined length; or (ii)it may include part of the user name and part of the telephone number;or (iii) it may include several digits of the dialed number where partof numbers may be transformed to alphabets or symbols to provide analphanumeric subscriber ID. In another example, if an email id is beingused for communication then part of the email id in a predeterminedlength may be identified as the subscriber ID.

It may be appreciated by a person with ordinary skill in the art, inlight of and in accordance with the teachings of the present invention,that virtually any algorithm and/or computer code may be used to routethe communication using the routing module 226. Routing algorithmsand/or methods may include, without limitation, destination (target)address setting, destination (target) device setting, destination(target) network setting, destination (target) port (line) setting,direct switching, wire connection establishing, and the like

It may be appreciated by a person with ordinary skill in the art, inlight of and in accordance with the teachings of the present invention,that virtually any algorithm and/or computer code may be used to selecta route for communication using the route selection module 228. Routeselection algorithms and/or methods may include, without limitation,least cost routing (LCR), routing by order, routing by prefix,round-robin routing, hot swap routing, routing on demand, fixed routing,routing by route (network) weight, and the like.

It may be appreciated by a person with ordinary skill in the art, inlight of and in accordance with the teachings of the present invention,that virtually any algorithm and/or computer code may be used to detecta communication drop using the communication drop detection module 230.Communication drop detection algorithms and/or methods may include,without limitation, response (reply) code analyzer, electrical current(or resistance or voltage) measure, timeout detection, packet counter,silence detection, and the like.

It may be appreciated by a person with ordinary skill in the art, inlight of and in accordance with the teachings of the present invention,that virtually any algorithm and/or computer code may be used to selecta route for communication using the alternate route selection module234. Route selection algorithms and/or methods may include, withoutlimitation, least cost routing (LCR), routing by order, routing byprefix, round-robin routing, hot swap routing, routing on demand, fixedrouting, routing by route (network) weight, and the like.

It may be appreciated by a person with ordinary skill in the art, inlight of and in accordance with the teachings of the present invention,that virtually any algorithm and/or computer code may be used to excludea route for communication using the route exclusion module 236. Routeexclusion algorithms and/or methods may include, without limitation,exclusion by response (reply) code, exclusion upon timeout, exclusionbased upon present invention algorithm, and the like.

It may be appreciated by a person with ordinary skill in the art, inlight of and in accordance with the teachings of the present invention,that virtually any algorithm and/or computer code may be used toself-learn using the heuristic module 240. Self-learning algorithmsand/or methods may include, without limitation, recording informationabout low quality routes in database with further recalling thatinformation, alteration of routing table based upon routes qualityinformation gathered in database, and the like.

It may be appreciated by a person with ordinary skill in the art, inlight of and in accordance with the teachings of the present invention,that there may be a plurality of the same modules in routingcommunication for a user system architecture 200. A plurality of modulessuch as, without limitation, an outgoing call device identificationmodule 216, a receiving device identification module 218, a user IDidentification module 220, a subscriber ID extraction module 222, asubscriber ID creating module 224, a routing module 226, a routeselection module 228, a communication drop detection module 230, adatabase 232, an alternate route selection module 234, a route exclusionmodule 236, an interface module 238, and a heuristic module 240, may bepresent in routing communication for a user system architecture 200. Theplurality of similar modules may work in parallel or independently toimprove the throughput and/or speed of routing communication for a usersystem architecture 200. In an alternative embodiment of the presentinvention, a plurality of identification, routing, selecting,extracting, creating, excluding, interface, self-learning, and storagemodules may be connected to a routing communication for a user systemvia wired and wireless connections to access resources from differentwired and wireless networks. In still another alternative embodiment ofthe present invention, a plurality of similar modules may form asecondary routing communication for a user system capable of seamlesslysubstituting an errant module.

It may be appreciated by a person with ordinary skill in the art, inlight of and in accordance with the teachings of the present invention,that any module routing communication for a user system architecture 200may perform data manipulation. Data manipulation such as, but notlimited to, compression, encryption, formatting. In an alternativeembodiment of the present invention, any module sending data may firstcompress the data prior to data transmission.

FIG. 3 is a block diagram illustrating an exemplary process for routingcommunication for a user, in accordance with an embodiment of thepresent invention. During a typical operation of system 300 acommunication computing system 310 is provided. The communicationcomputing system 310 includes a designated software for routingcommunication 312 and an outgoing call routing module 314. The system300 also includes a route selection module 316, a database 318, andsystem operator 320. In one embodiment, the system operator may includea human operator who may observe working of the communication computingsystem 310. For example, the system operator may observer and analyzethese results, and conclude that the communication computing system maynot have enough routes for some particular destination. The systemoperator may take appropriate actions, for example, find new routes andadd them in the system.

In an exemplary embodiment, when a user places an outgoing call using anoutgoing call device the outgoing call routing module 314 may use thedesignated software for routing communication 312 to place a request forselecting a route to reach a receiver 322 i.e., a called subscriber withthe route selection module 316. The route selection module 316 providesa good quality selected route 324 to the outgoing call routing module314 after performing a series of actions. The route selection module 316may use the designated software for routing communication 312 to place arequest for the list of routes that are available to reach a receiver326. The outgoing call routing module 314 may then provide the list ofavailable routes 328 and the connection status 330 to the routeselection module 316. The connection status as mentioned herein, mayinclude but is not limited to, a code which represents a currentcondition of a particular call, for example, connection is in progress,connection fails, call is connected, call was disconnected, and thelike. The route selection module may employ the status to operate withcall condition and call duration to implement the algorithm of qualityroute selection. The route selection module 316 then communicates withthe database 318 to acquire certain information i.e., the list of shortduration calls made by the subscriber 332, the list of low qualityroutes 334 that may have been previously identified for any subscriberbut having a same/similar subscriber ID, etc. . . . . The routeselection module 316 also provides an input 338 on the list ofcommunications attempted where there was not possibility of selecting ahigh quality route to the database 318. In various embodiments, eitherthe database 318 send the information on the list of short durationcalls 340, the list of low quality routes 342, and the list ofcommunications attempted where there was not possibility of selecting ahigh quality route to the systems operator 320 or the systems operator320 may access this information from the database. The systems operatormay then take necessary actions to prevent any of these routes beingselected in future, for example, by adding more good quality routes tothe list of allowed routes for reaching a particular receiver.

FIG. 4 is a flow chart illustrating an exemplary process 400 for routingcommunication for a user, in accordance with an embodiment of thepresent invention. The process 400 for routing a communication for auser/subscriber starts with a step 410. In step 410 an external callrouting unit launches the designated computer software to select theoptimum route for an outgoing call. As described hereinabove, when anoutgoing call is observed to get disconnected after a very shortduration and a repeat of the outgoing call is made almost immediatelyafter the disconnection, the calls may be identified as low/bad qualitycall, using this as a bad quality indicator. In one embodiment, aconnection that ends in time period of 5 minutes may be considered as athreshold for a short call, an interval period of about 2 minutesbetween call attempts may be considered as a threshold for redial, i.e.,if redial attempt was made in 2 minutes after short call was finishedthe redial attempt may be considered as low quality indicator, etc. . .. . A subscriber ID may be extracted from the, for example, telephonenumber, and a subscriber ID of a prefix length may be created for futureuse. Accordingly, in a step 412 a called subscriber ID (i.e., receiver'ssubscriber ID) may be extracted from the request, for which a highquality communication route needs to be selected. In a step 414, asubscriber ID of the subscribers group to which this particular calledsubscriber belongs may then be identified. In one exemplary embodiment,the first several digits of the dialed number (a given prefix length)may be used as a receiving subscriber's ID or as a receiving group's ID.In step 416 a check may be made to determine if this particularsubscriber (or a group of subscribers) is on the list of recent shortduration calls. The data on this list may be stored only for a limitedperiod of time. It may be appreciated by a person with ordinary skill inthe art, in light of and in accordance with the teachings of the presentinvention, that the limited period of time is a limitation of the timeinterval only between two subsequent call attempts, i.e., theinformation about a short call may be saved in a temporary table, andthis information may be stored in a list/table only for a limited timeperiod. In one embodiment, the time limit may be for about 2 minutes. Ifa user makes new redial attempt in this given interval, of about 2minutes, a previous short call made by the user may be observed in thetable, and the redial attempt may be considered as an indicator of badquality for the all. In an embodiment, where, the user may take morethan 2 minutes to make an attempt at making a call after a previousshort call, the information in temporary table may be already lost andso this new call attempt may not be considered as a bad quality callindicator. It may be appreciated by a person with ordinary skill in theart, in light of and in accordance with the teachings of the presentinvention, that the limited period of time may be dependent on the callroutes being used. In other embodiments, a call details record CDR maybe stored the database for previous short call determinations. In oneembodiment, if the exact called number (group) is on the list of shortduration calls, this may mean that a user has now redialed this numberafter a preceding short phone conversation. The redialing of the numbermay in certain embodiments be attributed to failed or bad qualityconnection with this subscriber (group of subscribers). In anembodiment, where the exact called number (group) is not 418 on the listof short duration calls, then the designated computer program skips tostep 428 of the process. In another embodiment, if the exact callednumber (group) is on the list of short duration calls, then thedesignated computer program moves on to step 422. In step 422 a routethat may have been previously used to establish a connection with thissubscriber (group) may be extracted from the corresponding entry of thelist of short duration calls. In a next step 424 the route may be markedas bad quality because the outgoing call user is trying to reach thesame subscriber, i.e., receiver, again after a short duration call.Accordingly, the subscriber ID extracted for this route (with calledsubscriber or group of subscribers) may then be included on the list oflow/bad quality routes. In a step 426 the entry showing the precedingshort duration call destined for this subscriber (group) may be deletedfrom the list of short duration calls because this information hasalready been used and the route has been marked as a low quality route.In embodiments where the CDR table may be employed instead of thetable/list the process will move directly from step 424 to step 428. Instep 428 a request for all possible routes that may be used to establishconnection with this subscriber may be sent to the outgoing call routingunit. As described herein above where the exact called number (group) isnot 418 on the list of short duration calls, then the designatedcomputer program skips to step 428 of the process. In a next step 430the lists received after making a request for all possible routes instep 428 is reviewed. In various embodiments, the routes may be reviewedin ascending order, descending order, in a random order, or thedesignated algorithm may include using of priorities or weights of theroutes, sort/select routes from a given list of possible routes, etc. .. . . In one embodiment, the routes may be reviewed in order and thefirst route on the list may be selected. In step 432 the selected routeit checked to determine if this particular combination of a calledsubscriber's (group's) ID and a route may be contained in the list oflow quality routes. In an embodiment, where the subscriber's or group IDindicates that this route has already been used 434 before to establishconnection with this subscriber (group) and was marked as low qualitythe designated computer software skips to step 438 of the process toreview other options of routing. In an embodiment, where thesubscriber's or group ID indicates that this route has not been used 436before to establish connection with this subscriber (group), it may meanthat this route is allowed for establishing connection with thissubscriber and hence the designated computer software may skip to step450 of the process. In step 438, a check may be made to identify anyother options left on the list of possible routes that may be used toreach this subscriber. In an embodiment, where more route options may beavailable i.e., there are more routes that may be reviewed 440, thedesignated computer software may skip to step 442 of the process. In anembodiment, where no more route options may be left i.e., there may beno more possible routes on the list 443, designated computer softwaremay skip to step 444 of the process. In step 442 the next route on thelist of all possible routes that can be used to reach this subscribermay then be selected for review. The process then again loops back tostep 430 for analysis of the selected route and following steps. In step444 it may be determined that there may be no more options on the listof possible routes i.e., all routes have been tried and designated aslow quality routes. In such an event, if the process to try and make aconnection with the called subscriber (receiver) is terminated then theconnection may never happen. Accordingly, in one embodiment, thedesignated computer software is programmed to delete all the routes thatwere used to reach this particular subscriber (group) from the list oflow quality routes. In a next step 446 the event of step 444 is loggedand all the data regarding the situation and the called subscriber areentered into the “not possible to select a high quality route” list.This list may be made available to the system operator (administrator)who can take actions to prevent such situations in the future, forexample, add more possible routes to the list of allowed routes forreaching this subscriber. In a next step 448, a new attempt is made totest all possible routes all over again, by selecting the first route onthe list. As mentioned hereinabove, in various embodiments, the routesmay be reviewed in ascending order, descending order, in a random order,or the designated algorithm may include using of priorities or weightsof the routes, sort/select routes from a given list of possible routes,etc. . . . . In one embodiment, the routes may be reviewed in order andthe first route on the list may be selected. In a step 450 connectionmay be established between the outgoing call subscriber and the calledsubscriber (receiver) via the selected route from step 448. In step 452the connection status/call status (as discussed in FIG. 3) may bechecked. In an embodiment, where the connection has not been established454, the execution of the designated computer software is over theprocess comes to an end in step 466. In an embodiment, where theconnection may be established, the designated computer softwarecontinues the process to the next step 458. In step 458 another check ismade to determine the duration of the established connection withreference to the minimum duration required to determine it as a goodquality connection. In an embodiment, where the conversation may bedetermined to be long enough, the execution of the designated computersoftware is over the process comes to an end in step 466. In anembodiment, where the conversation may not be determined as long enough,i.e., determined as short duration, the execution of the designatedcomputer software proceeds to step 464. In step 464 the ID of the calledsubscriber (group) and the route used for connection may entered intothe list of short duration calls, for storage within a given period oftime (as discussed herein above). In step 466 the process comes to anend.

Those skilled in the art will readily recognize, in light of and inaccordance with the teachings of the present invention, that any of theforegoing steps and/or system modules may be suitably replaced,reordered, removed and additional steps and/or system modules may beinserted depending upon the needs of the particular application, andthat the systems of the foregoing embodiments may be implemented usingany of a wide variety of suitable processes and system modules, and isnot limited to any particular computer hardware, software, middleware,firmware, microcode and the like. For any method steps described in thepresent application that can be carried out on a computing machine, atypical computer system can, when appropriately configured or designed,serve as a computer system in which those aspects of the invention maybe embodied.

FIG. 5 is a block diagram depicting an exemplary client/server systemwhich may be used by an exemplary web-enabled/networked embodiment ofthe present invention.

A communication system 500 includes a multiplicity of clients with asampling of clients denoted as a client 502 and a client 504, amultiplicity of local networks with a sampling of networks denoted as alocal network 506 and a local network 508, a global network 510 and amultiplicity of servers with a sampling of servers denoted as a server512 and a server 514.

Client 502 may communicate bi-directionally with local network 506 via acommunication channel 516. Client 504 may communicate bi-directionallywith local network 508 via a communication channel 518. Local network506 may communicate bi-directionally with global network 510 via acommunication channel 520. Local network 508 may communicatebi-directionally with global network 510 via a communication channel522. Global network 510 may communicate bi-directionally with server 512and server 514 via a communication channel 524. Server 512 and server514 may communicate bi-directionally with each other via communicationchannel 524. Furthermore, clients 502, 504, local networks 506, 508,global network 510 and servers 512, 514 may each communicatebi-directionally with each other.

In one embodiment, global network 510 may operate as the Internet. Itwill be understood by those skilled in the art that communication system500 may take many different forms. Non-limiting examples of forms forcommunication system 500 include local area networks (LANs), wide areanetworks (WANs), wired telephone networks, wireless networks, or anyother network supporting data communication between respective entities.

Clients 502 and 504 may take many different forms. Non-limiting examplesof clients 502 and 504 include personal computers, personal digitalassistants (PDAs), cellular phones and smartphones.

Client 502 includes a CPU 526, a pointing device 528, a keyboard 530, amicrophone 532, a printer 534, a memory 536, a mass memory storage 538,a GUI 540, a video camera 542, an input/output interface 544, and anetwork interface 546.

CPU 526, pointing device 528, keyboard 530, microphone 532, printer 534,memory 536, mass memory storage 538, GUI 540, video camera 542,input/output interface 544 and network interface 546 may communicate ina unidirectional manner or a bi-directional manner with each other via acommunication channel 548. Communication channel 548 may be configuredas a single communication channel or a multiplicity of communicationchannels.

CPU 526 may be comprised of a single processor or multiple processors.CPU 526 may be of various types including micro-controllers (e.g., withembedded RAM/ROM) and microprocessors such as programmable devices(e.g., RISC or SISC based, or CPLDs and FPGAs) and devices not capableof being programmed such as gate array ASICs (Application SpecificIntegrated Circuits) or general purpose microprocessors.

As is well known in the art, memory 536 is used typically to transferdata and instructions to CPU 526 in a bi-directional manner. Memory 536,as discussed previously, may include any suitable computer-readablemedia, intended for data storage, such as those described aboveexcluding any wired or wireless transmissions unless specifically noted.Mass memory storage 538 may also be coupled bi-directionally to CPU 526and provides additional data storage capacity and may include any of thecomputer-readable media described above. Mass memory storage 538 may beused to store programs, data and the like and is typically a secondarystorage medium such as a hard disk. It will be appreciated that theinformation retained within mass memory storage 538, may, in appropriatecases, be incorporated in standard fashion as part of memory 536 asvirtual memory.

CPU 526 may be coupled to GUI 540. GUI 540 enables a user to view theoperation of computer operating system and software. CPU 526 may becoupled to pointing device 528. Non-limiting examples of pointing device528 include computer mouse, trackball and touchpad. Pointing device 528enables a user with the capability to maneuver a computer cursor aboutthe viewing area of GUI 540 and select areas or features in the viewingarea of GUI 540. CPU 526 may be coupled to keyboard 530. Keyboard 530enables a user with the capability to input alphanumeric textualinformation to CPU 526. CPU 526 may be coupled to microphone 532.Microphone 532 enables audio produced by a user to be recorded,processed and communicated by CPU 526. CPU 526 may be connected toprinter 534. Printer 534 enables a user with the capability to printinformation to a sheet of paper. CPU 526 may be connected to videocamera 542. Video camera 542 enables video produced or captured by userto be recorded, processed and communicated by CPU 526.

CPU 526 may also be coupled to input/output interface 544 that connectsto one or more input/output devices such as such as CD-ROM, videomonitors, track balls, mice, keyboards, microphones, touch-sensitivedisplays, transducer card readers, magnetic or paper tape readers,tablets, styluses, voice or handwriting recognizers, or other well-knowninput devices such as, of course, other computers.

Finally, CPU 526 optionally may be coupled to network interface 546which enables communication with an external device such as a databaseor a computer or telecommunications or internet network using anexternal connection shown generally as communication channel 516, whichmay be implemented as a hardwired or wireless communications link usingsuitable conventional technologies. With such a connection, CPU 526might receive information from the network, or might output informationto a network in the course of performing the method steps described inthe teachings of the present invention. In one embodiment, as a voicecommunication device any of a computer-type device may be used. Forexample, such device might have no units 538, 540, 542, 528, 530, 534.In one embodiment, analog voice device which communicates with digitaldevices via a gateway may also be used.

FIG. 6 illustrates a block diagram depicting a conventionalclient/server communication system.

A communication system 600 includes a multiplicity of networked regionswith a sampling of regions denoted as a network region 602 and a networkregion 604, a global network 606 and a multiplicity of servers with asampling of servers denoted as a server device 608 and a server device610.

Network region 602 and network region 604 may operate to represent anetwork contained within a geographical area or region. Non-limitingexamples of representations for the geographical areas for the networkedregions may include postal zip codes, telephone area codes, states,counties, cities and countries. Elements within network region 602 and604 may operate to communicate with external elements within othernetworked regions or within elements contained within the same networkregion.

In some implementations, global network 606 may operate as the Internet.It will be understood by those skilled in the art that communicationsystem 600 may take many different forms. Non-limiting examples of formsfor communication system 600 include local area networks (LANs), widearea networks (WANs), wired telephone networks, cellular telephonenetworks or any other network supporting data communication betweenrespective entities via hardwired or wireless communication networks.Global network 606 may operate to transfer information between thevarious networked elements.

Server device 608 and server device 610 may operate to execute softwareinstructions, store information, support database operations andcommunicate with other networked elements. Non-limiting examples ofsoftware and scripting languages which may be executed on server device608 and server device 610 include C, C++, C# and Java.

Network region 602 may operate to communicate bi-directionally withglobal network 606 via a communication channel 612. Network region 604may operate to communicate bi-directionally with global network 606 viaa communication channel 614. Server device 608 may operate tocommunicate bi-directionally with global network 606 via a communicationchannel 616. Server device 610 may operate to communicatebi-directionally with global network 606 via a communication channel618. Network region 602 and 604, global network 606 and server devices608 and 610 may operate to communicate with each other and with everyother networked device located within communication system 600.

Server device 608 includes a networking device 620 and a server 622.Networking device 620 may operate to communicate bi-directionally withglobal network 606 via communication channel 616 and with server 622 viaa communication channel 624. Server 622 may operate to execute softwareinstructions and store information.

Network region 602 includes a multiplicity of clients with a samplingdenoted as a client 626 and a client 628. Client 626 includes anetworking device 634, a processor 636, a GUI 638 and an interfacedevice 640. Non-limiting examples of devices for GUI 638 includemonitors, televisions, cellular telephones, smartphones and PDAs(Personal Digital Assistants). Non-limiting examples of interface device640 include pointing device, mouse, trackball, scanner and printerinterface device may be virtual command line accessed via network (SSH,telnet, etc) or serial port (RS-232, USB, etc)]. Networking device 634may communicate bi-directionally with global network 606 viacommunication channel 612 and with processor 636 via a communicationchannel 642. GUI 638 may receive information from processor 636 via acommunication channel 644 for presentation to a user for viewing.Interface device 640 may operate to send control information toprocessor 636 and to receive information from processor 636 via acommunication channel 646. Network region 604 includes a multiplicity ofclients with a sampling denoted as a client 630 and a client 632. Client630 includes a networking device 648, a processor 650, a GUI 652 and aninterface device 654. Non-limiting examples of devices for GUI 638include monitors, televisions, cellular telephones, smartphones and PDAs(Personal Digital Assistants). Non-limiting examples of interface device640 include pointing devices, mousse, trackballs, scanners and printers.Networking device 648 may communicate bi-directionally with globalnetwork 606 via communication channel 614 and with processor 650 via acommunication channel 656. GUI 652 may receive information fromprocessor 650 via a communication channel 658 for presentation to a userfor viewing. Interface device 654 may operate to send controlinformation to processor 650 and to receive information from processor650 via a communication channel 660, and an analog telephone device alsomay be used through a gateway.

For example, consider the case where a user interfacing with client 626may want to execute a networked application. A user may enter the IP(Internet Protocol) address for the networked application usinginterface device 640. The IP address information may be communicated toprocessor 636 via communication channel 646. Processor 636 may thencommunicate the IP address information to networking device 634 viacommunication channel 642. Networking device 634 may then communicatethe IP address information to global network 606 via communicationchannel 612. Global network 606 may then communicate the IP addressinformation to networking device 620 of server device 608 viacommunication channel 616. Networking device 620 may then communicatethe IP address information to server 622 via communication channel 624.Server 622 may receive the IP address information and after processingthe IP address information may communicate return information tonetworking device 620 via communication channel 624. Networking device620 may communicate the return information to global network 606 viacommunication channel 616. Global network 606 may communicate the returninformation to networking device 634 via communication channel 612.Networking device 634 may communicate the return information toprocessor 636 via communication channel 642. Processor 646 maycommunicate the return information to GUI 638 via communication channel644. User may then view the return information on GUI 638.

It will be further apparent to those skilled in the art that at least aportion of the novel method steps and/or system components of thepresent invention may be practiced and/or located in location(s)possibly outside the jurisdiction of the United States of America (USA),whereby it will be accordingly readily recognized that at least a subsetof the novel method steps and/or system components in the foregoingembodiments must be practiced within the jurisdiction of the USA for thebenefit of an entity therein or to achieve an object of the presentinvention. Thus, some alternate embodiments of the present invention maybe configured to comprise a smaller subset of the foregoing means forand/or steps described that the applications designer will selectivelydecide, depending upon the practical considerations of the particularimplementation, to carry out and/or locate within the jurisdiction ofthe USA. For example, any of the foregoing described method steps and/orsystem components which may be performed remotely over a network (e.g.,without limitation, a remotely located server) may be performed and/orlocated outside of the jurisdiction of the USA while the remainingmethod steps and/or system components (e.g., without limitation, alocally located client) of the forgoing embodiments are typicallyrequired to be located/performed in the USA for practicalconsiderations. In client-server architectures, a remotely locatedserver typically generates and transmits required information to a USbased client, for use according to the teachings of the presentinvention. Depending upon the needs of the particular application, itwill be readily apparent to those skilled in the art, in light of theteachings of the present invention, which aspects of the presentinvention can or should be located locally and which can or should belocated remotely. Thus, for any claims construction of the followingclaim limitations that are construed under 35 USC § 112 (6) it isintended that the corresponding means for and/or steps for carrying outthe claimed function are the ones that are locally implemented withinthe jurisdiction of the USA, while the remaining aspect(s) performed orlocated remotely outside the USA are not intended to be construed under35 USC § 112 (6). In some embodiments, the methods and/or systemcomponents which may be located and/or performed remotely include,without limitation: onward calling device, receiving device, databases,and communication computing system. It is noted that according to USAlaw, all claims must be set forth as a coherent, cooperating set oflimitations that work in functional combination to achieve a usefulresult as a whole. Accordingly, for any claim having functionallimitations interpreted under 35 USC § 112 (6) where the embodiment inquestion is implemented as a client-server system with a remote serverlocated outside of the USA, each such recited function is intended tomean the function of combining, in a logical manner, the information ofthat claim limitation with at least one other limitation of the claim.For example, in client-server systems where certain information claimedunder 35 USC § 112 (6) is/(are) dependent on one or more remote serverslocated outside the USA, it is intended that each such recited functionunder 35 USC § 112 (6) is to be interpreted as the function of the localsystem receiving the remotely generated information required by alocally implemented claim limitation, wherein the structures and orsteps which enable, and breathe life into the expression of suchfunctions claimed under 35 USC § 112 (6) are the corresponding stepsand/or means located within the jurisdiction of the USA that receive anddeliver that information to the client (e.g., without limitation,client-side processing and transmission networks in the USA). When thisapplication is prosecuted or patented under a jurisdiction other thanthe USA, then “USA” in the foregoing should be replaced with thepertinent country or countries or legal organization(s) havingenforceable patent infringement jurisdiction over the presentapplication, and “35 USC § 112 (6)” should be replaced with the closestcorresponding statute in the patent laws of such pertinent country orcountries or legal organization(s).

All the features disclosed in this specification, including anyaccompanying abstract and drawings, may be replaced by alternativefeatures serving the same, equivalent or similar purpose, unlessexpressly stated otherwise. Thus, unless expressly stated otherwise,each feature disclosed is one example only of a generic series ofequivalent or similar features.

It is noted that according to USA law 35 USC § 112 (1), all claims mustbe supported by sufficient disclosure in the present patentspecification, and any material known to those skilled in the art neednot be explicitly disclosed. However, 35 USC § 112 (6) requires thatstructures corresponding to functional limitations interpreted under 35USC § 112 (6) must be explicitly disclosed in the patent specification.Moreover, the USPTO's Examination policy of initially treating andsearching prior art under the broadest interpretation of a “mean for”claim limitation implies that the broadest initial search on 112(6)functional limitation would have to be conducted to support a legallyvalid Examination on that USPTO policy for broadest interpretation of“mean for” claims. Accordingly, the USPTO will have discovered amultiplicity of prior art documents including disclosure of specificstructures and elements which are suitable to act as correspondingstructures to satisfy all functional limitations in the below claimsthat are interpreted under 35 USC § 112 (6) when such correspondingstructures are not explicitly disclosed in the foregoing patentspecification. Therefore, for any invention element(s)/structure(s)corresponding to functional claim limitation(s), in the below claimsinterpreted under 35 USC § 112 (6), which is/are not explicitlydisclosed in the foregoing patent specification, yet do exist in thepatent and/or non-patent documents found during the course of USPTOsearching, Applicant(s) incorporate all such functionally correspondingstructures and related enabling material herein by reference for thepurpose of providing explicit structures that implement the functionalmeans claimed. Applicant(s) request(s) that fact finders during anyclaims construction proceedings and/or examination of patentallowability properly identify and incorporate only the portions of eachof these documents discovered during the broadest interpretation searchof 35 USC § 112 (6) limitation, which exist in at least one of thepatent and/or non-patent documents found during the course of normalUSPTO searching and or supplied to the USPTO during prosecution.Applicant(s) also incorporate by reference the bibliographic citationinformation to identify all such documents comprising functionallycorresponding structures and related enabling material as listed in anyPTO Form-892 or likewise any information disclosure statements (IDS)entered into the present patent application by the USPTO or Applicant(s)or any 3^(rd) parties. Applicant(s) also reserve its right to lateramend the present application to explicitly include citations to suchdocuments and/or explicitly include the functionally correspondingstructures which were incorporate by reference above.

Thus, for any invention element(s)/structure(s) corresponding tofunctional claim limitation(s), in the below claims, that areinterpreted under 35 USC § 112 (6), which is/are not explicitlydisclosed in the foregoing patent specification, Applicant(s) haveexplicitly prescribed which documents and material to include theotherwise missing disclosure, and have prescribed exactly which portionsof such patent and/or non-patent documents should be incorporated bysuch reference for the purpose of satisfying the disclosure requirementsof 35 USC § 112 (6). Applicant(s) note that all the identified documentsabove which are incorporated by reference to satisfy 35 USC § 112 (6)necessarily have a filing and/or publication date prior to that of theinstant application, and thus are valid prior documents to incorporatedby reference in the instant application.

Having fully described at least one embodiment of the present invention,other equivalent or alternative methods of implementing system ofrouting a user communication according to the present invention will beapparent to those skilled in the art. Various aspects of the inventionhave been described above by way of illustration, and the specificembodiments disclosed are not intended to limit the invention to theparticular forms disclosed. The particular implementation of the systemof routing a user communication may vary depending upon the particularcontext or application. By way of example, and not limitation, thesystem of routing a user communication described in the foregoing wereprincipally directed to user communication route implementations;however, similar techniques may instead be applied to real timecommunication system which may utilize routing, for example, in videocommunications or video conferencing; any real time voice conferencing;any voice or video transmission systems or applications, for example,broadcasting; any PSTN segment; any cellular network segment; any voicecontent distribution system; any data transmission system, for example,IP network or subnet, time division multiplexing (TDM) network, ISDNnetwork; any channel switching system, for example, PBX, voice switch,data switch; etc . . . , which implementations of the present inventionare contemplated as within the scope of the present invention. Theinvention is thus to cover all modifications, equivalents, andalternatives falling within the spirit and scope of the followingclaims. It is to be further understood that not all of the disclosedembodiments in the foregoing specification will necessarily satisfy orachieve each of the objects, advantages, or improvements described inthe foregoing specification.

Claim elements and steps herein may have been numbered and/or letteredsolely as an aid in readability and understanding. Any such numberingand lettering in itself is not intended to and should not be taken toindicate the ordering of elements and/or steps in the claims.

The corresponding structures, materials, acts, and equivalents of allmeans or step plus function elements in the claims below are intended toinclude any structure, material, or act for performing the function incombination with other claimed elements as specifically claimed.

The corresponding structures, materials, acts, and equivalents of allmeans or step plus function elements in the claims below are intended toinclude any structure, material, or act for performing the function incombination with other claimed elements as specifically claimed. Thedescription of the present invention has been presented for purposes ofillustration and description, but is not intended to be exhaustive orlimited to the invention in the form disclosed. Many modifications andvariations will be apparent to those of ordinary skill in the artwithout departing from the scope and spirit of the invention. Theembodiment was chosen and described in order to best explain theprinciples of the invention and the practical application, and to enableothers of ordinary skill in the art to understand the invention forvarious embodiments with various modifications as are suited to theparticular use contemplated.

The Abstract is provided to comply with 37 C.F.R. Section 1.72(b)requiring an abstract that will allow the reader to ascertain the natureand gist of the technical disclosure. That is, the Abstract is providedmerely to introduce certain concepts and not to identify any key oressential features of the claimed subject matter. It is submitted withthe understanding that it will not be used to limit or interpret thescope or meaning of the claims.

The following claims are hereby incorporated into the detaileddescription, with each claim standing on its own as a separateembodiment.

1. (canceled)
 2. A method for routing communication, the methodcomprising the steps for: launching a computer software stored on anon-transitory computer readable medium of a communication computingsystem, to select an optimum route for an outgoing call; identifying,with a user ID identification module, at least a receiver or groupsubscriber ID of a call receiver device from an outgoing call of anoutgoing call subscriber ID of an outgoing call device; determining ifsaid identified receiver subscriber ID is on a list of short durationcalls; extracting a communication route previously used to establish aconnection with said receiver subscriber ID based on a result of saiddetermining step that said identified receiver subscriber ID is on alist of short duration calls; marking said extracted communication routeas bad quality communication route as a result of said outgoing calldevice is trying to reach said receiver subscriber ID a second or thirdtime right after a short duration call; adding said marked communicationroute and said receiver subscriber ID to a list of bad qualitycommunication routes; deleting said extracted communication route andreceiver subscriber ID from said list of short duration calls; receivinga list of all available communication routes; selecting at least a firstcommunication route from said received list of all availablecommunication routes configured to be used by said receiver subscriberID; determining whether said selected first communication route and saidreceiver subscriber ID are contained in a list of bad qualitycommunication routes; establishing a connection between said outgoingcall device and said call receiver device via said selected firstcommunication route based on a result of said determining step that saidlist of bad quality communication routes do not contain a combination ofsaid selected first communication route and said receiver subscriber ID;monitoring said established connection between said outgoing call deviceand said call receiver device; determining if a duration of saidestablished connection is longer or shorter than a predetermined minimumduration of a good quality communication route; and entering saidreceiver or group subscriber ID and said selected first communicationroute into said list of short duration calls based on said durationbeing shorter than said predetermined minimum duration of a good qualitycommunication route.
 3. The method of claim 2, further comprising, basedon a result of said determining step that said list of bad qualitycommunication routes contains a combination of said selected firstcommunication route and said receiver subscriber ID, the steps for:determining an additional or second communication route in said list ofall available connection; deleting all communication routes used toreach said receiver subscriber ID if said additional or secondcommunication route is a last entry in said list of all availableconnection; and entering said receiver subscriber ID into a “notpossible to select a high quality communication route” list.
 4. A methodfor routing communication, the method comprising the steps for:launching a computer software stored on a non-transitory computerreadable medium of a communication computing system, to select anoptimum route for an outgoing call; identifying, with a user IDidentification module, at least a receiver or group subscriber ID of acall receiver device from an outgoing call of an outgoing callsubscriber ID of an outgoing call device; determining whether saididentified receiver subscriber ID has been entered on a list of shortduration calls; receiving a list of all available communication routesbased on a result of said determining step that said identified receiversubscriber ID is not entered on said list of short duration calls;selecting at least one communication route from said received list ofall available communication routes configured to be used by saidreceiver subscriber ID; determining whether a list of low qualitycommunication routes contains a combination of said selectedcommunication route and said receiver subscriber ID; establishing aconnection between said outgoing call device and said call receiverdevice via said selected communication route based on a result of saidcomparing step that said list of low quality communication routes do notcontain a combination of said selected communication route and saidreceiver subscriber ID; monitoring a duration of said establishedconnection between said outgoing call device and said call receiverdevice; determining if said duration of said established connection islonger or shorter than a predetermined minimum duration of a goodquality communication route; and entering said receiver or groupsubscriber ID and said selected communication route into said list ofshort duration calls based on a result of said duration determining stepthat said duration is shorter than a predetermined minimum duration of agood quality communication route.
 5. The method of claim 4, furthercomprising, based on a result of said determining step that saididentified receiver subscriber ID is on a list of short duration calls,the steps for: extracting a communication route previously used toestablish a connection with said receiver subscriber ID from said listof short duration calls; marking said extracted communication route asbad quality communication route if said outgoing call device is tryingto reach said receiver subscriber ID a second or third time after ashort duration call or dropped communication call; adding said markedcommunication route and said receiver subscriber ID to a bad qualitycommunication routes list; and deleting said extracted or markedcommunication route and receiver subscriber ID from said list of shortduration calls.
 6. The method of claim 5, further comprising, based on aresult of said determining step that said list of bad qualitycommunication routes contains a combination of said selectedcommunication route and said receiver subscriber ID, the steps for:determining an additional or second communication route in said list ofall available communication routes; deleting all communication routesused to reach said receiver subscriber ID if said list of bad qualityconnection routes contains a combination of said additional or secondcommunication route and said receiver subscriber ID; and entering saidreceiver subscriber ID into a “not possible to select a high qualitycommunication route” list.
 7. The method of claim 6, further comprisingthe step for detecting, with a communication drop detection module, acommunication drop between said established connection between saidoutgoing call device and said call receiver device via said selectedcommunication route.